home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / usenet / sources / volume91 / utilitys / browser1 / part01 / browser.doc next >
Text File  |  1991-03-25  |  13KB  |  350 lines

  1. Browser -- a programmer's "Workbench". Release 1.7
  2.  
  3. ) 1990 Peter da Silva
  4.  
  5. Introduction
  6.  
  7.     In earlier versions of Browser, I opened this document with the
  8. somewhat confident comment:
  9.  
  10.     The Amiga "Workbench" has some serious deficiencies as
  11.     a working environment. The most important one is that
  12.     it doesn't let you operate on just any file (this is
  13.     rumored to be fixed in 1.4, by the way), but there are
  14.     others. It's designed to be easy to learn and use, but
  15.     it just isn't very powerful.
  16.  
  17. Well, 1.4 is now 2.0, and it's almost here. So this is probably going to
  18. be the last revision of Browser. I'm now using Workbench 2.0 on a daily
  19. basis, and I find I'm not using Browser that much. It remains faster than
  20. workbench and cleaner for quick jobs, but not enough for me to spend much
  21. time on it. However, lots of people remain in a 1.3 environment, and with
  22. the new release of the Aztec C compiler (5.0d) I've been able to clear up
  23. several outstanding bugs in Browser. Thus, the new release.
  24.  
  25.     This program is an attempt to deal with limitations in earlier
  26. versions of the Workbench. It runs under all versions of AmigaOS, including
  27. 2.0, but is expected to be most useful for people running 1.3 and earlier.
  28. It is not a complete replacement for Workbench, nor is it intended to be.
  29. There is no attempt to support icons, and there are no disk-oriented
  30. functions (formatting, copying, etc...).
  31.  
  32.     What Browser does allow you to do, easily and conveniently, is to
  33. move, copy, rename, and delete files and directories. It will also let you
  34. execute either Workbench or CLI programs, either directly by double-
  35. clicking them or by selecting them from a menu. By combining these you can
  36. set up a complete operating environment that will, to a large extent,
  37. replace both Workbench and the CLI.
  38.  
  39.     Browser presents you with a set of windows, representing directories,
  40. with all the files and directories within each listed in alphabetical
  41. order. Directories, displayed in color 2 (red/orange), are listed first,
  42. followed by the files. Selected files are displayed in inverse video.
  43.  
  44. Selecting Files
  45.  
  46.     You can select individual files three ways. First, just click on
  47. a file name. This will select that file and deselect all others. If you
  48. hold down the shift key when you click on the file, it will be selected
  49. without deselecting other files. This way you can build a list of files
  50. to operate on. So far this is just like Workbench, but if you click a
  51. selected file while holding down the shift key, it will be deselected
  52. without affecting other selected files. This lets you take back mistakes.
  53.  
  54.     Finally, you can use the menu items "Sel All" and "Sel Match" to
  55. select a group of files at once. "Sel All" will select all files in the
  56. active window. "Sel Match" will allow you to enter a pattern and then
  57. select only files matching that pattern in the active window. These
  58. normally act as toggles... if you have any selected files in the active
  59. window they will be deselected if they match.
  60.  
  61. Actions
  62.  
  63.     There are, again, three ways to manipulate selected files. First,
  64. you can drag a file or selected files to another window by holding down the
  65. left mouse button while you move the mouse. When you release the button,
  66. Browser will attempt to move the files to the location you indicate. This
  67. is just like the Workbench.
  68.  
  69.     Secondly, double-clicking a file will open it. If it's a directory,
  70. it will be opened and files in it will be displayed. If it's a program
  71. with an accompanying '.info' file, it will be launched as a Workbench task.
  72. This will also work with Projects, if the accompanying .info file specifies
  73. a tool. Finally, Browser will ask you if you want to launch it as a CLI
  74. program.
  75.  
  76.     Any other files selected will be passed to the new program, either
  77. on the CLI command line or in the Workbench Args structure. This is the
  78. normal Workbench shift-double-click method.
  79.  
  80.     Third, you can select a menu item.
  81.  
  82. Menus
  83.  
  84.     There are two main Browser menus. The first, "Browser", relates to
  85. the browser environment itself. The second, "Actions", relates to the files
  86. and directories displayed in Browser's windows. Menu items act either on
  87. selected files or on the currently active window. There are additional
  88. menus (called Tools Menus) that can be set up by the user.
  89.  
  90. Browser Menu
  91.  
  92.     Open
  93.  
  94.         This entry is equivalent to double-clicking the selected
  95.     file. It is included for consistency with Workbench. Strictly
  96.     speaking it should be in the Actions menu, but it seems to fit
  97.     here better.
  98.  
  99.     Close
  100.  
  101.         This entry is equivalent to clicking the active window's
  102.     close gadget.  Again, it's included for consistency with the
  103.     Workbench.
  104.  
  105.     Rescan
  106.  
  107.         This entry requests Browser to re-scan the directory displayed
  108.     in the active window. This is equivalent to, but a lot more convenient
  109.     than, closing and re-opening the window. I suppose I could poll the
  110.     disk for these, but if you use floppies much this becomes slightly
  111.     inconvenient.
  112.  
  113.     Show >
  114.  
  115.         This entry selects whether files, files and sizes, or full
  116.     file information is displayed for the current window. It has been
  117.     extended since 1.6a and is now provides a full set of options.
  118.  
  119.     Sel All
  120.  
  121.         This selects all files in the active window. Actually, it
  122.     toggles the selection of each file. Currently selected files will
  123.     be deselected.
  124.  
  125.     Sel Match...
  126.  
  127.         This is the same as Sel All, except that a pattern may be
  128.     provided to further restrict the selection.
  129.  
  130.     Options
  131.  
  132.         This allows you to modify the global behaviour of Browser
  133.     to some extent:
  134.  
  135.         X Toggle Selections
  136.  
  137.             This affects whether a selection through the menu,
  138.         or a shift-click, will deselect an already selected file.
  139.  
  140.         X Move files into subdirectories
  141.  
  142.             This effects whether you can move files into a
  143.         subdirectory by dragging them to it and releasing the mouse
  144.         button when the mouse is over the directory's name. If this
  145.         is not set you have to open the directory first.
  146.  
  147.         X Ask before moving into subdirectories
  148.  
  149.             If you permit files to be moved into subdirectories,
  150.         this determines if Browser will prompt you beforehand.
  151.  
  152.     Quit
  153.  
  154.         This selection closes all windows and terminates Browser.
  155.  
  156. Actions Menu
  157.  
  158.     The entries in this menu act on files rather than changing the state
  159. of Browser.
  160.  
  161.     WB Tool
  162.  
  163.         The currently selected file (singular) is entered into the
  164.     Tools menu as a workbench tool.
  165.  
  166.     CLI Tool...
  167.  
  168.         The currently selected file (singular) is entered into the
  169.     Tools menu as a CLI tool. Browser will pop up a requestor and allow
  170.     you to add additional arguments.
  171.  
  172.     Rename...
  173.  
  174.         The currently selected file (singular) is renamed. Browser
  175.     will pop up a requestor and allow you to enter the new name.
  176.  
  177.     Duplicate...
  178.  
  179.         The currently selected file (singular) is duplicated. Browser
  180.     will pop up a requestor and allow you to edit the new name (generated
  181.     by BumpRevision: "file" becomes "copy of file", and so on).
  182.  
  183.     Make Dir...
  184.  
  185.         Creates a new directory in the currently active window.
  186.     Browser will pop up a requestor and allow you to specify the name of
  187.     the new directory.
  188.  
  189.     Delete
  190.  
  191.         Deletes all selected files. This will only delete directories
  192.     if they happen to be empty.
  193.  
  194.     Delete All
  195.  
  196.         Deletes all selected files AND directories, recursively.
  197.  
  198. Tools Menus
  199.  
  200.     These menus (starting with Tools) are initially empty. They are filled
  201. in by selecting "Add * Tool" or from the file "s:browser.inittab". When you
  202. select an entry in these menus they're run (either as workbench or CLI
  203. programs) with all selected files being passed to the program. If you have
  204. a choice, you should make a program run under the Workbench... it's MUCH
  205. more reliable.
  206.  
  207. Environment
  208.  
  209.     Browser can itself be run from either the Workbench or the CLI. The
  210. separate "bgbrowser" program no longer exists... use "runback" or some
  211. equivalent program if you want to run browser in a detached mode.
  212.  
  213.     Browser uses a file, "s:browser.inittab", to pre-load the command
  214. menus. Each line in the file is a separate menu item, made up of 5 fields
  215. separated by semicolons:
  216.  
  217.     name;environment;command;stack;window
  218.  
  219.     The first field is the name that is to appear in the menu. This
  220. name can be preceded by the name of the menu to insert it in followed by
  221. a period. If the menu name is left off, the "Tools" menu will be used.
  222. For example, "Applications.Terminal Emulator" will create a menu entry
  223. for "Terminal Emulator" and install it in the "Applications" menu. If the
  224. menu doesn't already exist, it will be created.
  225.  
  226.     The two environments currently supported are the CLI and the
  227. Workbench. Project files (such as AmigaBasic programs) aren't supported
  228. through the menu system at this time, though they may be at a later date.
  229. They do work just fine when you double-click them.
  230.  
  231.     If our terminal emulator was to be run as a Workbench program, then
  232. this field should contain "Workbench". If it can't run under the Workbench,
  233. then it should contain "CLI". It is better, if possible, to run programs
  234. under the Workbench. It's a cleaner environment, and you don't get extra
  235. windows cluttering up your display.
  236.  
  237.     The next field is the name of the command. This should contain the
  238. full path name to the program. If the command is a CLI command, additional
  239. arguments can be included at this point. The names of any files highlighted
  240. when this menu is selected will be added to the end. If the command is
  241. a Workbench command, this should just be the program name. Highlighted
  242. files will be passed to the program in the Workbench Args structure.
  243.  
  244.     The next field is the stack size. It may be left off, and will
  245. default to 8K.
  246.  
  247.     The last field is the window. For a CLI command, this is the
  248. window that will be opened to run the CLI in. For a Workbench command,
  249. this is the ToolWindow that will be passed to it. If it's left off a
  250. default will be used.
  251.  
  252.     Applications.Terminal Emulator;Workbench;sys:system/Termulator
  253.  
  254. Limitations:
  255.  
  256.     The CLI capability occasionally leaves you in an interactive CLI
  257. after you exit the program. This is caused by using one of the BREAK keys
  258. while you're in the program. I had to leave this in to get finicky CLI
  259. programs, such as Manx 'Z' editor, to work properly.
  260.  
  261.     If you're copying a file to disk and you get a disk error,
  262. occasionally browser will appear to ignore disk errors and keep on trying
  263. to write. Actually, Browser handles all disk errors that get reported to
  264. it. For some reason AmigaDOS doesn't report errors promptly. I suspect
  265. this is related to requesting writes larger than a disk buffer, but I
  266. don't plan on having Browser do anything about this in the near future.
  267.  
  268.     Browser seems to run just fine with only the standard 4K stack. The
  269. minimum environment you need to run browser is:
  270.  
  271.      libs (dir)
  272.        icon.library
  273.  
  274. If you also want to run CLI programs, you also need:
  275.  
  276.      c (dir)
  277.        cd                               EndCLI
  278.        Failat                           NewCLI
  279.        Run                              Stack
  280.      l (dir)
  281.        Ram-Handler
  282.  
  283. These are needed to run the little scripts Browser builds in RAM: when you
  284. run a CLI program.
  285.  
  286. Author:
  287.  
  288.     Peter da Silva
  289.  
  290.     U.S.Mail:
  291.         15770 Bellaire Blvd. #107
  292.         Houston, TX  77083
  293.  
  294.     Phone:
  295.         +1 713 568 0480    (data: Taronga Park)
  296.         +1 713 274 5180 (work)
  297.  
  298.     Internet:
  299.         peter@taronga.hackercorp.com
  300.     Compuserve:
  301.         >internet:peter@taronga.hackercorp.com (preferred)
  302.         70216,1076
  303.  
  304.     I'm currently getting a new domain name, so if your mail to
  305. taronga.hackercorp.com bounces or is delayed, try taronga.com. If all
  306. else fails I'm currently working at Ferranti International Controls
  307. Corporation, so try peter@ferranti.com.
  308.  
  309. Donations:
  310.  
  311.     If you find this program useful, you may send a donation to the
  312. author, Peter da Silva. For a donation of thirty dollars or more you will
  313. receive the latest version of Browser (or, if you prefer, the next version
  314. if it ever comes out... as I said, 1.7 is likely to be the ultimate release).
  315.  
  316.     If you have been waiting for the next release and it hasn't got
  317. to you, call me or send me email. With this release I'm sending all the
  318. folks who contributed the program and a copy of the source. You should get
  319. a copy in the mail soon.
  320.  
  321. Sponsors:
  322.  
  323.     The following people have donated money, and are willing to have
  324. their names up in lights. Thanks, folks. In no particular order...
  325.  
  326.     <CB>
  327.     Kent and Judy Polk
  328.     Burkard S. Kr|ger
  329.     D. Ballinger
  330.     Ron Harper
  331.     Steven D. Kapplin
  332.     David Allen
  333.     Glen Fullmer
  334.     Ed Vishoot
  335.     Jeff Van Epps
  336.     P. Wright
  337.     Heinz Mathalm
  338.     Blaine Gardner
  339.     Liam Healy
  340.     Johan Widin
  341.     D. Ratliff
  342.     T. J. Pagano
  343.     J|rgen Klawitter
  344.     Ulrich Denker
  345.     Rick Jones
  346.     Guenther Engelhardt
  347.  
  348. And special thanks to my wife, Stephanie, who talked me into doing this
  349. release.
  350.